package com.sxt.springcloud.bus;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sxt.bus.domain.Goods;
import com.sxt.bus.domain.Goodstype;
import com.sxt.bus.domain.Provider;
import com.sxt.bus.domain.Sales;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sxt.bus.vo.SalesVo;
import com.sxt.opd.domain.Patient;
import com.sxt.springcloud.bus.fallback.SalesClientFallbackService;
import com.sxt.sys.common.Constast;
import com.sxt.sys.common.DataGridView;
import com.sxt.sys.common.ResultObj;
import com.sxt.sys.common.WebUtils;
import com.sxt.sys.domain.User;
import org.apache.commons.lang3.StringUtils;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author author
 * @since 2019-12-26
 */
@Component
@FeignClient(value = "SPRINGCLOUD-PROVIDER-BUS",fallbackFactory = SalesClientFallbackService.class)
@RequestMapping("/p/sales")
public interface SalesClientService {

    /**
     * 查询
     */
    @RequestMapping("loadAllSales")
    DataGridView loadAllSales(@RequestBody SalesVo salesVo);

    /**
     * 添加
     */
    @RequestMapping("addSales")
    ResultObj addSales(@RequestBody SalesVo salesVo);

    /**
     * 添加
     */
    @RequestMapping("addMenzhenSales")
    ResultObj addMenzhenSales(@RequestBody SalesVo salesVo);

    /**
     * 修改
     */
    @RequestMapping("updateSales")
    ResultObj updateSales(@RequestBody SalesVo salesVo);

    /**
     * 删除
     */
    @RequestMapping("deleteSales")
    ResultObj deleteSales(@RequestParam("id") Integer id);

    /**
     * 批量删除
     */
    @RequestMapping("batchDeleteSalesforMenzhen")
    ResultObj batchDeleteSalesforMenzhen(@RequestBody SalesVo salesVo);

    /**
     * 批量修改为收费
     */
    @RequestMapping("batchUpdateSalesforMenzhen")
    ResultObj batchUpdateSalesforMenzhen(@RequestBody SalesVo salesVo);

    /**
     * 批量修改为已经出库
     */
    @RequestMapping("batchUpdateSalesIsOut")
    ResultObj batchUpdateSalesIsOut(@RequestBody SalesVo salesVo);

    /**
     * 查询--门诊药单
     */
    @RequestMapping("loadAllSalesInMenZhen")
    DataGridView loadAllSalesInMenZhen(@RequestBody SalesVo salesVo);

}
